草庐IT

Safari 17

全部标签

Mobile Safari 和 Mac 上的 Safari 之间的 Javascript 差异?

嘿,这个问题很笼统,但我想知道MobileSafari和SafariforMac中的Javascript区别是什么。我的印象是,从Javascript的Angular来看,它们是相同的,只是在CSS/渲染方面存在一些差异。但是我在MobileSafari中遇到了一些在Mac上的常规Safari中不存在的Javascript错误。基本上,对某些jQuery插件的许多调用都会返回未定义的值(根据MobileSafari中的开发人员调试器)。我遇到这些问题的网站有一个非常糟糕的前端,充斥着验证错误、糟糕的JS并且附加了大量的CSS。我毫不怀疑这个问题出在这段代码的某个地方,而且我以前从未遇到

javascript - 为什么这些 Javascript for 循环在 Firefox 上比在 Chrome/Safari 上慢得多?

我在摆弄基准站点jfprefs并在http://jsperf.com/prefix-or-postfix-increment/9创建了我自己的基准.基准测试是Javascriptfor循环的变体,使用前缀和后缀增量器以及不使用就地增量器的Crockfordjslint风格。for(varindex=0,len=data.length;index从几次基准测试中获得数据后,我注意到Firefox平均每秒执行15次操作,而Chrome大约为300次。我认为JaegerMonkey和v8在速度方面相当相似?我的基准测试是否存在某种缺陷,Firefox是否在此处进行某种节流,或者Javascr

javascript - 如何静默调试 Safari 无法连接到安全的 WebSocket

当执行newWebSocket('ws://server/');时,Safari连接正常,但当使用newWebSocket('wss://server/');它完全失败(返回一个null对象)。更糟糕的是,它会悄无声息地失败——在回溯(自定义EventletWeb服务器)或Safari内的错误控制台中没有错误。Chrome在安全和非安全主机上都能正常工作。我该如何调试或修复这个问题?Google的信息非常匮乏。这是运行OpenSSL代替WebSockets服务器的一些回溯,看看会发生什么。首先,这是Chrome的(确实有效)调试输出:UsingdefaulttempDHparamete

javascript - iPad Safari IOS 5 window.close() 关闭错误窗口

我们有一个iPad应用程序可以在我们的旧iPad上运行。我们打开外部链接使用varx=window.open(url)在一天结束时,当用户关闭应用程序的这一部分时,我们遍历它打开的所有窗口并对每个窗口执行x.close(),一切正常。在装有IOS5和可爱标签的新iPad上进行测试,打开新窗口(尽管现在它们作为选项卡打开)很好,但是执行x.close()似乎不一定关闭x,它可能会关闭窗口y或z。执行x.focus()或y.focus()工作得很好,正确的选项卡成为焦点,但关闭似乎只是选择它想要的任何选项卡。这是一个错误还是我做错了什么?示例程序://TheopenWindowarrayw

javascript - iOS 5 Safari 中对 Web 开发人员有何新功能?

从AppleWWDC中,我们了解到iOSSafari5具有选项卡,以及新的阅读器和阅读列表功能。对于网络开发人员来说,这些都不是特别有用的信息。与CSS(位置固定?)、Javascript(网络worker?)和DOM(手势事件?)相关的新功能是什么? 最佳答案 看来我们确实得到了position:fixed和overflow:scroll,参见http://functionsource.com/post/ios5-positionfixed-overlayscroll还有WebWorkers,以及各种输入标签增强功能。JSSpee

javascript - OSX 上的 Safari 6 中的 CSS3 闪烁(但这不是闪烁到白色的问题!)

此问题不会出现在iOS或Chrome上,因此它不是与Webkit相关的问题。它似乎特定于OSX10.8.2上的最新Safari6.0.2(并且未被Safari6.0.3附带的10.8.3预览版本12D65修复)。我将很快在带有Safari6.0.2的Lion10.7.5上进行测试,还将在预览版12D68上进行测试。http://jsfiddle.net/zrr2b/这是一个使问题非常明显的fiddle。如果您有一台运行ML的Mac,您应该会看到Chrome和Safari之间的显着差异,当您移动鼠标时,Safari会闪烁很多。基本上,问题是Safari会间歇性地绘制从JS为单个帧设置的目

javascript - Safari 扩展显示不同窗口的弹出窗口

我正在尝试构建一个Safari扩展,当用户点击Command+B时,它将显示弹出窗口。使用下面的代码它可以工作,但总是在不同的窗口而不是当前窗口/选项卡上显示弹出窗口。我希望它在当前窗口上显示弹出窗口,而不是切换到另一个窗口并在那里打开弹出窗口。如果只有一个Safari窗口打开,它可以完美运行,但当打开多个窗口时开始出现问题。有什么想法吗?全局页面文件:safari.application.addEventListener('message',function(e){if(e.name=='ShowPopover'){safari.extension.toolbarItems[0].s

javascript - 如何防止Safari拦截ajax请求的401响应

我在Safari扩展中遇到以下问题。我要求用户提供他们的网络服务用户名/密码,并发送一个快速请求以验证凭据是否正确。如果不是,该服务将以我认为应该的方式响应401。问题是Safari似乎在我的javascript代码可以处理它之前拦截了这个响应,显示灰色登录框而不是让我处理错误。我能做些什么吗?我正在使用js库进行调用,但它在功能上等同于以下jQuery。$.ajax({type:"GET",url:url,username:username,password:password,success:function(){/*handlesuccess*/},error:function()

javascript - 为什么我不能在 Chrome(和 Safari)中将 console.log 作为回调参数传递?

以下代码片段在Firefox中运行时会在Chrome(和Safari)中产生错误。我希望在javascript控制台中显示2个数字,但在Chrome中我只得到第一个,然后是UncaughtTypeError:Illegalinvocation//agenericpromisethatreturnarandomfloatvarmakePromise=function(){return$.Deferred().resolve(Math.random());}//ThisworksinallbrowsersmakePromise().then(function(d){console.log(

javascript - Safari 不会在服务器端的刷新/onbeforeunload 上运行回调函数(调用客户端代码)

我试图在卸载窗口时(即刷新页面时)向数据库发送一些请求。出于某种原因,仅在Safari上,客户端代码得到执行,但对服务器的请求永远不会通过。当我在调试器中手动单步执行代码时,服务器确实收到了请求并对其进行了很好的处理。有人知道为什么会这样吗?window.onbeforeunload=function(){console.log("insideonbeforeunload");varrequestParam=newa.ListRequest();requestParam.setAction('set_delete');varcallback=function(isSuccess,res